package main

import (
	"fmt"
	"net/rpc"
	"time"
)

type Req struct {
	NumOne int
	NumTwo int
}

type Res struct {
	Num int
}

func main() {
	fmt.Println("main")
	req := Req{
		NumOne: 1,
		NumTwo: 2,
	}
	var res Res
	client, err := rpc.DialHTTP("tcp", "127.0.0.1:8888")
	if err != nil {
		fmt.Println(err)
	}
	// 调用rpc 远程方法 Server Add 下
	// Call 方法是同步阻塞 如果要异步可以使用 Go 方法
	//client.Call("Server.Add", req, &res)
	ca := client.Go("Server.Add", req, &res, nil)
	for {
		select {
		case <-ca.Done:
			fmt.Println(res)
			return
			break
		default:
			time.Sleep(time.Second * 1)
			fmt.Println("dddd")

		}
	}
	fmt.Println("111111111111")
}
